package com.thinking.live.config;

import com.alipay.api.AlipayClient;
import com.alipay.api.AlipayConstants;
import com.alipay.api.DefaultAlipayClient;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

/***
 @author tangsixiang@hotmail.com
 描述：
 @date 2024年02月20日 12:40

 */
@Component
@Data
@ConfigurationProperties(prefix = "alipay")
public class AlipayConfig {

    /**
     * 商户appid
     */
    private String appId;

    /**
     * 商户PID,卖家支付宝账号ID
     */
    private String sellerId;

    /**
     * 私钥 pkcs8格式的,rsc中的私钥
     */
    private String privateKey;

    /**
     * 支付宝公钥
     */
    private String publicKey;

    /**
     * 请求网关地址
     */
    private String serverUrl;

    /**
     * 页面跳转同步通知（可以直接返回前端页面、或者通过后端进行跳转）
     */
    private String returnUrl;

    /**
     * 服务器异步通知
     */
    private String notifyUrl;

    /**
     * 获得初始化的AlipayClient
     *
     * @return
     */
    @Bean
    public AlipayClient alipayClient() {
        // 获得初始化的AlipayClient
        return new DefaultAlipayClient(serverUrl, appId, privateKey,
                AlipayConstants.FORMAT_JSON, AlipayConstants.CHARSET_UTF8,
                publicKey, AlipayConstants.SIGN_TYPE_RSA2);
    }


}
